{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as pl\n",
    "\n",
    "import sys\n",
    "sys.path.append(\"../ai-sdr\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from LTESync.ltesync import LTESync\n",
    "from Data.opnr import find_data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "fn = find_data(\"../data\",\"2150.0\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "aLTE = LTESync(str(fn),centered=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "aLTE.read()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "f,fd = aLTE.spectrum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x11d610650>]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGvCAYAAABxUC54AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAABBQUlEQVR4nO3deXhU5d3/8c8kkLAlwYgkRFZXQEAoKMYVKw+L1EcrrVVRaOtPq0+wKrZVrAJuBFCrFRHUWtDWiLgrKohhEwhh3yEsBgJkA0IyISHbzPn9gQwMmYSZZCbnzOT9uq65ZM76Pcdk8pn73Oc+NsMwDAEAAFhImNkFAAAAnImAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALKeJ2QXUhdPpVHZ2tqKiomSz2cwuBwAAeMEwDBUXFyshIUFhYbW3kQRlQMnOzlaHDh3MLgMAANTB/v371b59+1qX8SmgTJ8+XdOnT9fevXslSZdddpnGjRunoUOHSpLKysr0+OOPa/bs2SovL9fgwYP15ptvKi4uzrWNrKwsPfTQQ1q0aJFatWqlUaNGKTk5WU2aeF9KVFSU6wCjo6N9OQQAAGASu92uDh06uP6O18angNK+fXtNmjRJF198sQzD0Hvvvadbb71V69ev12WXXabHHntM33zzjT7++GPFxMRo9OjRuv3227V8+XJJksPh0LBhwxQfH68VK1YoJydHI0eOVNOmTTVx4kSv6zh5WSc6OpqAAgBAkPGme4atvg8LjI2N1UsvvaTf/OY3Ou+885SSkqLf/OY3kqQdO3aoW7duSktL01VXXaXvvvtOv/rVr5Sdne1qVZkxY4aeeOIJHTp0SBEREV7t0263KyYmRkVFRQQUAACChC9/v+t8F4/D4dDs2bNVUlKixMRErV27VpWVlRo4cKBrma5du6pjx45KS0uTJKWlpalnz55ul3wGDx4su92urVu31riv8vJy2e12txcAAAhdPgeUzZs3q1WrVoqMjNSDDz6ozz//XN27d1dubq4iIiLUunVrt+Xj4uKUm5srScrNzXULJyfnn5xXk+TkZMXExLhedJAFACC0+RxQLr30Um3YsEHp6el66KGHNGrUKG3bti0QtbmMHTtWRUVFrtf+/fsDuj8AAGAun28zjoiI0EUXXSRJ6tu3r1avXq1//vOf+t3vfqeKigoVFha6taLk5eUpPj5ekhQfH69Vq1a5bS8vL881ryaRkZGKjIz0tVQAABCk6j2SrNPpVHl5ufr27aumTZsqNTXVNS8jI0NZWVlKTEyUJCUmJmrz5s3Kz893LbNgwQJFR0ere/fu9S0FAACECJ9aUMaOHauhQ4eqY8eOKi4uVkpKihYvXqz58+crJiZG9913n8aMGaPY2FhFR0fr4YcfVmJioq666ipJ0qBBg9S9e3fde++9mjJlinJzc/X0008rKSmJFhIAAODiU0DJz8/XyJEjlZOTo5iYGPXq1Uvz58/X//zP/0iSXn31VYWFhWn48OFuA7WdFB4errlz5+qhhx5SYmKiWrZsqVGjRum5557z71EBAICgVu9xUMzAOCgAAASfBhkHBQAAIFAIKAAAwHIIKAAAwHIIKAAsb3d+scbM2aDMwyVmlwKggfg8UBsANKQjx8o18B9LJUmrMgu07IlfmlwRgIZACwoAS3t+7qlHaRw4etzESgA0JAIKAEs7WEgoARojAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoASzMMsysAYAYCCgDLmrclV2v2HTW7DAAmIKAAsKwH/7vW7BIAmISAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALMengJKcnKwrrrhCUVFRatu2rW677TZlZGS4LTNgwADZbDa314MPPui2TFZWloYNG6YWLVqobdu2+utf/6qqqqr6Hw0AAAgJTXxZeMmSJUpKStIVV1yhqqoqPfXUUxo0aJC2bdumli1bupa7//779dxzz7net2jRwvVvh8OhYcOGKT4+XitWrFBOTo5Gjhyppk2bauLEiX44JAAAEOx8Cijz5s1zez9r1iy1bdtWa9eu1fXXX++a3qJFC8XHx3vcxvfff69t27bphx9+UFxcnHr37q3nn39eTzzxhCZMmKCIiIg6HAYAAAgl9eqDUlRUJEmKjY11m/7BBx+oTZs26tGjh8aOHavS0lLXvLS0NPXs2VNxcXGuaYMHD5bdbtfWrVs97qe8vFx2u93tBQAAQpdPLSinczqdevTRR3XNNdeoR48erul33323OnXqpISEBG3atElPPPGEMjIy9Nlnn0mScnNz3cKJJNf73Nxcj/tKTk7Ws88+W9dSAQBAkKlzQElKStKWLVu0bNkyt+kPPPCA6989e/ZUu3btdNNNN2nPnj268MIL67SvsWPHasyYMa73drtdHTp0qFvhAADA8up0iWf06NGaO3euFi1apPbt29e6bP/+/SVJu3fvliTFx8crLy/PbZmT72vqtxIZGano6Gi3FwAACF0+BRTDMDR69Gh9/vnnWrhwobp06XLWdTZs2CBJateunSQpMTFRmzdvVn5+vmuZBQsWKDo6Wt27d/elHAAAEKJ8usSTlJSklJQUffnll4qKinL1GYmJiVHz5s21Z88epaSk6Oabb9a5556rTZs26bHHHtP111+vXr16SZIGDRqk7t27695779WUKVOUm5urp59+WklJSYqMjPT/EQIAgKDjUwvK9OnTVVRUpAEDBqhdu3au10cffSRJioiI0A8//KBBgwapa9euevzxxzV8+HB9/fXXrm2Eh4dr7ty5Cg8PV2Jiou655x6NHDnSbdwUAADQuPnUgmIYRq3zO3TooCVLlpx1O506ddK3337ry64BAEAjwrN4AACA5RBQAACA5RBQAACA5RBQAACA5RBQAACA5RBQAACA5RBQAACA5RBQAACA5RBQAASVP8xcpf0FpWaXASDACCgAgsqijEMaM2eD2WUACDACCoCgk1NUZnYJAAKMgAIAACyHgAIAACyHgAIAACyHgAIAACyHgAIAACyHgAIAACyHgAIAACyHgAIAACyHgAIAACyHgAIAACyHgAIg6BiG2RUACDQCCoCgc7DwuNklAAgwAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgrws9KKKn2x/qAKSyvMLgUAGj0CCvCz8V9u1aMfbdAfZ602uxQAaPQIKMDPvtyQLUlal1VobiEAAAIKAACwHgIKAACwHAIKAACwHAIKAACwHAIKgKBUdLzS7BIABBABBUBQ2nu4xOwSAAQQAQUAAFgOAQUAAFhOE7MLAMx25Fi5XvxmuyocTrNLwWkKSnjkANCYEVDQ6I3/aqvmbsoxuwyc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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pl.plot(f,np.abs(fd))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2140000000.0, np.int32(0), np.int64(3395), np.float64(2.5423250609147328))\n",
      "(2140300000.0, np.int32(0), np.int64(3387), np.float64(2.0695265895900574))\n",
      "(2140200000.0, np.int32(0), np.int64(3415), np.float64(2.064719153307046))\n",
      "(2139700000.0, np.int32(0), np.int64(3403), np.float64(1.918391711260141))\n",
      "(2140100000.0, np.int32(0), np.int64(3366), np.float64(1.8983710945386487))\n",
      "(2139900000.0, np.int32(0), np.int64(3423), np.float64(1.6169727043208713))\n",
      "(2139800000.0, np.int32(0), np.int64(3374), np.float64(1.3358656656846437))\n"
     ]
    }
   ],
   "source": [
    "pss_all = aLTE.search()\n",
    "pss_all.sort(key=lambda x:np.abs(x[3]),reverse=True)\n",
    "for pss in pss_all:\n",
    "    print(pss)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "# cells = aLTE.check_fdd()\n",
    "# for cell in cells:\n",
    "#     print(cell)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "from LTESync.afc import AFC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "aLTE.decimate(1835.6e6)\n",
    "cid,df,pid,pos,amp = AFC.afc(aLTE.waveform,1835.6e6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2 -57349.44994044342 8599 0 0\n"
     ]
    }
   ],
   "source": [
    "print(cid,df,pid,pos,amp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "384: fdd 24.2291202545166 @ freq=2140000000.0 off=3523\n"
     ]
    }
   ],
   "source": [
    "for s in aLTE.cells:\n",
    "    print(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "aLTE.sync()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "cid,slot,peak,ok = aLTE.find_sss(-137)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "228 1 13.115449 False\n"
     ]
    }
   ],
   "source": [
    "print(cid,slot,peak,ok)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.11.3 ('venv': venv)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.3"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "160761bc1a904adbbd606c3a9b02244365b1a540f860a2c66cbc5cbd24c54900"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
